###################### 面向对象：多态

class Animal(object):
    def run(self):
        print('Animal is running...')


class Dog(Animal):
    pass;

class Cat(Animal):
    def run(self):
        print('Cat is running...');


dog = Dog();
cat = Cat();
dog.run();
cat.run();

b = isinstance(dog, Animal);
print(b);
b = isinstance(dog, Dog);
print(b);

#多态的表现
def run(animal):
    animal.run();

#
run(dog);
run(cat);

#注意--鸭子类型：一个对象只要“看起来像鸭子，走起路来像鸭子”，那它就可以被看做是鸭子。
#所以，对于run函数，不一定要传入一个Animal的对象，只要有run方法的对象，都可以传进来！！














#
